<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Usuario_frm( $this );

	class Usuario_frm extends Frm
	{
	function setValue ( $ncUsuario )
		{
			$cSql = "SELECT cUsuario, cRoles, cEmail
								FROM stUsuario
								WHERE ncUsuario = $ncUsuario";
			$aDatos = $this->oDatabase->getArray($cSql);
			$this->setFieldsArray ( $aDatos );
			$this->aFields['aActores']->setValue( $aDatos['cRoles'] );
		}
	function Usuario_frm( &$oModule )
		{
			$this->Frm( $oModule );
			//Crea los Objetos de los campos de Usuario
			$this->aFields['ncUsuario']			= new Input ( "Codigo",  "ncUsuario", '', false, true );
			$this->aFields['cUsuario'] 			= new InputText ( "Nombre" ,  "cUsuario" );
			$this->aFields['cEmail'] 				= new InputText ( "Email" , "cEmail" );
			$this->aFields['aActores']			= new InputCheck( "Roles",  "aActores" );
		}
	function initializeForm()
		{
			// Si Recibe la Pk => busca los datos
			if ( $this->isRetrievable() &&  $this->aFields['ncUsuario']->getValue() )
				{
					$this->setValue( $this->aFields['ncUsuario']->getValue() );
				}
			// Configura el Titulo
				$this->setLabel( "Usuario" );
			return true;
		}
	function initializeField( $cField , &$oField )
		{
			switch ( $cField )
			{
				case 'cUsuario':
					$oField->setMandatory( $this->isMandatory() );
					$oField->setLength(40);
				break;
				case 'cEmail':
					$oField->setLength(40);
				break;
				case 'aActores':
					$oField->setMultiple( true );
					$oField->setForm( $this );
					initializeActores($oField);
				break;
			}
		}
	}
?>